#if 1

#include <iostream>

using namespace std;

/**
    一个数组中，只有一个数是单独的，其他的数都出现偶数次，求遍历一次，找到这个单独的数输出

    对于这个数组，a1^a2^a3^...^an,根据a^a = 0,0^a = a的性质。全部异或后的结果就是那个单独的数
*/
int getSingleDog(int *arr,int length)
{
    int result = 0; //因为0和任何数的异或都是原来的数
    for(int i =0;i<length;i++)
    {
        result^=arr[i];
    }
    return result;
}
int main()
{
    cout<<"输入长度5数组，用空格隔开"<<endl;
    int arr[5];
    for(int i =0;i<5;i++)
    {
        cin>>arr[i];
    }
    cout<<"单身狗："<<getSingleDog(arr,5)<<endl;
	system("pause");
	return 0;
}
#endif
